package com.tabnet.dao;

import java.sql.SQLException;
import java.util.HashMap;

import com.tabnet.beans.gammeproduit.PropositionGamme;
import com.tabnet.beans.personnes.Fournisseur;

public interface DAOPropositionGamme {
	
	/**
	 * Méthode qui ajoute une proposition dans la base de données
	 * @param propoGamme
	 * @throws DAOException
	 */
	public void addPropositionGamme(PropositionGamme propoGamme) throws DAOException;
	
	/**
	 * Méthode qui met à jour une proposition
	 * @param propoGamme
	 * @param action
	 * @throws DAOException
	 */
	public void updPropositionGamme(PropositionGamme propoGamme, String action) throws DAOException;
	
	/**
	 * Méthode qui retourne la proposition dont la référence est passée en paramètre
	 * @param ref
	 * @return PropositionGamme : null si aucun résultat
	 * @throws DAOException
	 */
	public PropositionGamme trouverPropositionGamme(String ref) throws DAOException;
	
	/**
	 * Méthode qui liste les proposition du fournisseur passé en paramètre
	 * @param fourn
	 * @return map
	 * @throws DAOException
	 */
	public HashMap<String, PropositionGamme> listerPropositions(Fournisseur fourn) throws DAOException;
	
	/**
	 * Méthode qui liste toutes les propositions de la base de données
	 * @return map
	 * @throws DAOException
	 */
	public HashMap<String, PropositionGamme> listerPropositions() throws DAOException;
	
	/**
     * <p>Fonction getLastRef<br />
     * Retourne la dernière référence</p>
     * @throws SQLException
     * @return la derniere reference de la base
     * */
	public String getLastRef() throws SQLException, DAOException;
}
